/**
 * 留言板包装类
 */
export default class Board {
  constructor() {
    this.textarea = document.querySelector("#nr");
    this.submit = document.querySelector("#buly");
  }
  /**
   * 安装留言板过滤器
   * @param {Function} callback 触发时的回调函数
   * @param {string[]} [keywords] 关键字列表；可选，不填则使用默认关键字列表
   */
  installBoardFilter(callback, keywords) {
    const defaultKeywords = [
      "傻逼",
      "智障",
      "去死",
      "你妈",
      "他妈",
      "sb",
      "SB",
      "弱智",
      "睿智"
    ];
    keywords = keywords || defaultKeywords;
    const originalClickHandler = this.submit.onclick;
    this.submit.onclick = undefined;
    this.submit.addEventListener("click", () => {
      if (keywords.some(keyword => this.textarea.value.includes(keyword))) {
        callback();
      } else {
        originalClickHandler();
      }
    });
    return this;
  }
  /**
   * 设置留言板欢迎语
   * @param {string} [text] 要显示的文本；可选，不填则默认显示“欢迎留言”
   */
  setBoardWelcomeText(text) {
    text = text || "欢迎留言";
    this.textarea.setAttribute("placeholder", text);
    return this;
  }
}
